package com.yqh.Map;

import java.util.HashMap;
import java.util.Map;
import java.util.Set;

/**
 * Map 集合的遍历方式
 *
 * @author 阳秋豪
 * @createTime 2024/3/6
 */
public class Test3 {
    public static void main(String[] args) {
        Map<String, Integer> map = new HashMap<>();
        map.put("张三", 21);
        map.put("李四", 22);
        map.put("王五", 23);
        map.put("赵六", 24);
        System.out.println(map); // {李四=22, 张三=21, 王五=23, 赵六=24}

        /*-------------- 键找值 --------------*/
        // 获取集合全部键
        Set<String> keys = map.keySet();
        // 遍历全部键，根据键获取对应值
        for (String key : keys) {
            System.out.print(key + "=" + map.get(key) + " "); // 李四=22 张三=21 王五=23 赵六=24
        }
        System.out.print("\n-------------------\n");


        /*-------------- 键值对 --------------*/
        Set<Map.Entry<String, Integer>> entries = map.entrySet();
        for (Map.Entry<String, Integer> entry : entries) {
            String key = entry.getKey();
            Integer value = entry.getValue();
            System.out.print(key + "=" + value + " "); // 李四=22 张三=21 王五=23 赵六=24
        }
        System.out.print("\n-------------------\n");

        /*-------------- Lambda --------------*/
        map.forEach((key, value) -> System.out.print(key + "=" + value + " ")); // 李四=22 张三=21 王五=23 赵六=24
    }
}